/**
 * @swagger
 * tags:
 *   name: Users
 *   description: 用户管理相关操作
 */

/**
 * @swagger
 * /login:
 *   post:
 *     summary: 用户登录
 *     tags: [Users]
 *     requestBody:
 *       required: true
 *       content:
 *         application/json:
 *           schema:
 *             type: object
 *             properties:
 *               email:
 *                 type: string
 *                 example: example@example.com
 *               password:
 *                 type: string
 *                 example: userPassword
 *     responses:
 *       200:
 *         description: 登录成功
 *         content:
 *           application/json:
 *             schema:
 *               type: object
 *               properties:
 *                 user:
 *                   type: object
 *                   properties:
 *                     id:
 *                       type: string
 *                       example: 1
 *                     username:
 *                       type: string
 *                       example: exampleUser
 *                     email:
 *                       type: string
 *                       example: example@example.com
 *                 token:
 *                   type: string
 *                   example: jwt_token_here
 *       404:
 *         description: 用户未找到
 *       401:
 *         description: 密码错误
 */

/**
 * @swagger
 * /users:
 *   post:
 *     summary: 创建用户
 *     tags: [Users]
 *     requestBody:
 *       required: true
 *       content:
 *         application/json:
 *           schema:
 *             type: object
 *             properties:
 *               username:
 *                 type: string
 *                 example: exampleUser
 *               full_name:
 *                 type: string
 *                 example: Example User
 *               phone_number:
 *                 type: string
 *                 example: 1234567890
 *               email:
 *                 type: string
 *                 example: example@example.com
 *               password_hash:
 *                 type: string
 *                 example: hashedPassword
 *     responses:
 *       201:
 *         description: 用户创建成功
 *       400:
 *         description: 输入数据有误
 *       409:
 *         description: 用户名或邮箱已存在
 */

/**
 * @swagger
 * /users:
 *   get:
 *     summary: 获取所有用户
 *     tags: [Users]
 *     responses:
 *       200:
 *         description: 用户列表
 *         content:
 *           application/json:
 *             schema:
 *               type: array
 *               items:
 *                 type: object
 *                 properties:
 *                   id:
 *                     type: string
 *                     example: 1
 *                   username:
 *                     type: string
 *                     example: exampleUser
 *                   email:
 *                     type: string
 *                     example: example@example.com
 */

/**
 * @swagger
 * /users/{id}:
 *   get:
 *     summary: 根据ID获取用户
 *     tags: [Users]
 *     parameters:
 *       - in: path
 *         name: id
 *         required: true
 *         description: 用户ID
 *         schema:
 *           type: string
 *     responses:
 *       200:
 *         description: 用户信息
 *         content:
 *           application/json:
 *             schema:
 *               type: object
 *               properties:
 *                 id:
 *                   type: string
 *                   example: 1
 *                 username:
 *                   type: string
 *                   example: exampleUser
 *                 email:
 *                   type: string
 *                   example: example@example.com
 *       404:
 *         description: 用户未找到
 */

/**
 * @swagger
 * /users/{id}:
 *   put:
 *     summary: 更新用户
 *     tags: [Users]
 *     parameters:
 *       - in: path
 *         name: id
 *         required: true
 *         description: 用户ID
 *         schema:
 *           type: string
 *     requestBody:
 *       required: true
 *       content:
 *         application/json:
 *           schema:
 *             type: object
 *             properties:
 *               full_name:
 *                 type: string
 *                 example: Updated User
 *               phone_number:
 *                 type: string
 *                 example: 0987654321
 *               email:
 *                 type: string
 *                 example: updated@example.com
 *               avatar_url:
 *                 type: string
 *                 example: http://example.com/new_avatar.png
 *               bio:
 *                 type: string
 *                 example: Updated bio description
 *     responses:
 *       200:
 *         description: 用户更新成功
 *       404:
 *         description: 用户未找到
 */

/**
 * @swagger
 * /users/{id}:
 *   delete:
 *     summary: 删除用户
 *     tags: [Users]
 *     parameters:
 *       - in: path
 *         name: id
 *         required: true
 *         description: 用户ID
 *         schema:
 *           type: string
 *     responses:
 *       204:
 *         description: 用户删除成功
 *       404:
 *         description: 用户未找到
 */
